package com.gss.armory.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.gss.armory.domain.DocumentCategoryDTO;
import com.gss.armory.domain.DocumentMetaDataAttributesDTO;
import com.gss.armory.domain.DocumentSubCategory;
import com.gss.common.util.ApplicationMaps;

@Service
public class DocumentMetaDataService {
	
	public List<DocumentCategoryDTO> getCategoryFrmType(Integer docTypeId)
	{
		return ApplicationMaps.DOC_TYP_DOC_CAT_MAP.get(docTypeId);
	}
	
	public List<DocumentSubCategory> getSubCategoryFrmCat(Integer docCat)
	{
		return ApplicationMaps.DOC_CAT_DOC_SUBCAT_MAP.get(docCat);
	}
	
	public List<DocumentMetaDataAttributesDTO> getDataAttributesDTOs(Integer docTypeId)
	{
		return ApplicationMaps.DOCUMENT_TYPE_MDATTR_MAP.get(docTypeId);
	}
	
	public boolean checkIfTypeHasCategories(int typeId){
		boolean result = false;
		if(ApplicationMaps.DOC_TYP_DOC_CAT_MAP.containsKey(typeId)){
			if(null != ApplicationMaps.DOC_TYP_DOC_CAT_MAP.get(typeId) && ApplicationMaps.DOC_TYP_DOC_CAT_MAP.get(typeId).size() > 0){
				result = true;
			}
		}
		return result;
	}
	
	public boolean checkIfCatHasSubCats(int catId){
		boolean result = false;
		if(ApplicationMaps.DOC_CAT_DOC_SUBCAT_MAP.containsKey(catId)){
			if(null != ApplicationMaps.DOC_CAT_DOC_SUBCAT_MAP.get(catId) && ApplicationMaps.DOC_CAT_DOC_SUBCAT_MAP.get(catId).size() > 0){
				result = true;
			}
		}
		return result;
	}

}
